﻿document.write('<download id="_____cal_dwn_____" style="behavior:url(#default#download)" />');

var	_____cal_popup_____	= window.createPopup();	// popup 개체
var	_____is_downed_____	= false;

// startDownload는 download default behavior의 멤버이며, 두 번째 파라미터에
// 콜백함수 ?인터를 넘긴다. 다운로드가 성공적일 때, 파일의 내용을 콜백함수의
// 파라미터로 넘긴다.
_____cal_dwn_____.startDownload("/resource/html/calendar.htm", _____onDownloadCompleted_____);

// 다운로드된 이후에 파일의 내용이 이 함수로 전달된다.
function _____onDownloadCompleted_____(src) {
	_____is_downed_____	= true;
	var	popDoc	= _____cal_popup_____.document;
	popDoc.write(src);
	popDoc.body.fireEvent("onload");
}

var	_____cal_target_____	= null;	// 대상 개체
var	_____sel_date_____	= null;
var	_____obj_date_____	= null;

function fnGetDate(str) {
	if (str.length == 6) {
		if (idate.isDateYM(str)) {
			str	+= lpad((new Date()).getDate(), 2, "0");
		}
	}

	if (idate.isDateYMD(str)) {
		var	year	= eval(str.substring(0, 4));
		var	month	= eval(str.substring(4, 6)) - 1;
		var	date	= eval(str.substring(6, 8));

		return	new Date(year, month, date);
	}

	return	new Date();
}

function fnShowCalendar(obj) {
	var	destobj	= null;

	if (typeof(obj) == "string") {
		destobj	= document.getElementById(obj);
		if (!destobj) {
			destobj	= document.getElementsByName(obj);
			if (destobj) {
				destobj	= destobj[0];
			}
		}
	} else if (typeof(obj) == "object") {
		if (obj.length) {
			if (arguments.length > 1) {
				destobj	= obj[arguments[1]];
			}
		} else {
			destobj	= obj;
		}
	}

	if (!destobj) {
		alert("대상 개체를 찾을 수 없습니다.");
		return	false;
	}

	if ( destobj.readOnly ) return false;

	_____cal_target_____	= destobj;

	_____sel_date_____	= fnGetDate(iobject.getValue(_____cal_target_____));
	_____obj_date_____	= _____sel_date_____;

	var	srcObj	= event.srcElement;

	var	popWidth	= 190;
	var	popHeight	= 212;
	var	popLeft		= srcObj.offsetWidth - popWidth;
	var	popTop		= event.screenY + popHeight + srcObj.offsetHeight > screen.availHeight ? 0 - popHeight : srcObj.offsetHeight;

	_____cal_popup_____.document.fireEvent("onactivate");
	_____cal_popup_____.show(popLeft, popTop, popWidth, popHeight, srcObj);
}
function fnHideCalendar() {
	if (_____cal_popup_____) {
		if (_____cal_popup_____.isOpen) {
			_____cal_popup_____.hide();
		}
	}
}
